package com.sale.table.service;

import com.sale.common.mybatis.core.page.PageQuery;
import com.sale.common.mybatis.core.page.TableDataInfo;
import com.sale.table.domain.dto.SaleOrderTraceDto;
import com.sale.table.domain.dto.SalesCollectionDto;
import com.sale.table.domain.dto.SalesRankingDto;
import com.sale.table.domain.dto.SalesTotalDto;
import com.sale.table.domain.vo.SaleOrderTraceVo;
import com.sale.table.domain.vo.SalesTotalVo;

/**
 * 销售订单跟踪 service
 */
public interface SaleOrderStatisticsService {

    /**
     * 销售订单跟踪 列表
     */
    TableDataInfo<SaleOrderTraceDto> getSaleOrderTraceList(SaleOrderTraceVo saleOrderTraceVo, PageQuery pageQuery);

    /**
     * 销售收款一览表列表
     */
    TableDataInfo<SalesCollectionDto> getSalesCollectionList(SaleOrderTraceVo saleOrderTraceVo, PageQuery pageQuery);

    /**
     * 销售汇总表
     */
    TableDataInfo<SalesTotalDto> getSalesTotalList(SalesTotalVo salesTotalVo, PageQuery pageQuery) throws Exception;

    /**
     * 销售排行表
     */
    TableDataInfo<SalesRankingDto> salesRankingList(SalesTotalVo salesTotalVo, PageQuery pageQuery) throws Exception;
}
